본문으로 건너뛰기

Q. 일반 함수 호출, 메서드 호출, 생성자 함수 호출마다 this는 어떤 값으로 바인딩 되나요?

🧑🏻‍💻 Answer.


✅ 일반 함수 호출

  • 기본적으로 this에는 전역 객체(window)가 바인딩됩니다.

  • strict mode 에서는 undefined가 바인딩됩니다.

  • 중첩 함수여도, 메서드 안 일반 함수로 호출 되어도 어떤 상황이든지 일반 함수로 호출되면 내부 this에는 전역 객체가 바인딩됩니다.

✅ 메서드 호출

  • 메서드 내부의 this에는 메서드를 소유한 객체가 아닌, 메서드를 호출한 객체가 바인딩됩니다.

✅ 생성자 함수 호출

  • 생성자 함수 내부의 this에는 생성자 함수가 생성할 인스턴스가 바인딩됩니다.